// const fastify = require('fastify')()
import cluster from "cluster"
import Fastify from "fastify"
const fastify = Fastify()

fastify.setErrorHandler(function (error, request, reply) {
  let statusCode = error.statusCode
  if (statusCode >= 500) {
    console.error(error)
  } else if (statusCode >= 400) {
    console.info(error)
  } else {
    console.log(error)
  }    
  reply.send({
    errmsg: error.message
  })
})

// fastify.addHook('onRequest', async (request, reply, done) => {
//   // Some code
//   if(!(request && request.raw && request.raw.headers && request.raw.headers.authorization)) {
//     reply.send("denied")
//   }
//   if(request.raw.headers.authorization != "jstc_wxauthcode") {
//     reply.send("invalid")
//   }
  
//   done()
// })

import home from './routes/home'
fastify.register(home, { prefix: '/' });

fastify.listen(10001, "0.0.0.0", () => {
  console.log("listen 10001");
})
// fastify.listen(10001, () => {
//   console.log("listen 10001");
// })

// if(cluster.isMaster) {
//   console.log(`主进程 ${process.pid} 正在运行`);
  
//   // 衍生工作进程。
//   for (let i = 0; i < 2; i++) {
//     cluster.fork();
//   }

//   cluster.on('exit', (worker, code, signal) => {
//     console.log(`工作进程 ${worker.process.pid} 已退出`);
//   });
// }
// else {
//   // 工作进程可以共享任何 TCP 连接。
//   // 在本例子中，共享的是 HTTP 服务器。

//   fastify.listen(10001, "0.0.0.0", () => {
//     console.log("listen 10001");
//   })
//   console.log(`工作进程 ${process.pid} 已启动`);
// }